草庐IT

c++ - auto_ptr 和 dynamic_pointer_cast

全部标签

java - Java 中是否有类似于 C++ 中的 <reinterpret_cast> 的转换

我在我的函数消息数组中得到了字节和对象类型,我需要从字节中恢复对象。Java中是否有像C++中那样的强制转换? 最佳答案 不,你可以使用serialization相反。 关于java-Java中是否有类似于C++中的的转换,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4805058/

java - Java "pointers"是如何工作的?

假设这是C++代码:voidchange(int&x){x++;}或voidchange2(int*a){*a++;}两者都会改变全局x,对吧?那么我怎样才能在Java中做类似的事情呢?具体来说,我想指向一个Vector对象但是由于Java没有指针,我不知道该怎么做。通过搜索互联网,我看到有人说Java以其他方式做到这一点,但我还没有找到任何真实的例子。感谢帮助! 最佳答案 在Java中,您拥有对对象的引用而不是指针。您不能通过引用传递原始类型,但可以将原始类型包装在对象中,然后传递对该对象的引用。Java提供了Integer类型,

Java 编程 : Dynamic Programming on stairs example

一个人正在跑n步楼梯,一次可以走1步、2步或3步。现在编写一个程序来计算child有多少种可能的跑楼梯方式。给出的代码如下publicstaticintcountDP(intn,int[]map){if(n-1)returnmap[n];else{map[n]=countDP(n-1,map)+countDP(n-2,map)+countDP(n-3,map);returnmap[n];}}我懂C和C++,不懂JAVA。这是来自CrackingtheCoding采访书。谁能解释一下她为什么以及如何在这里使用功能图?这里的map是数组吧?我没有看到任何行将输入保存到map数组,但它如何返

java - 配置文件java代码

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我需要分析我的JAVASRC代码以解决我目前正在处理的某些特定问题。我一直在使用名为JProfiler的工具的试用版.我想了解一些优秀的社区开源工具(如果有的话);除此之外,我也期待学习一些被广泛采用(或必须知道)的标准技术。对于C代码优化,我使用VALGRIND;还请让我知道Windows上可用的好工具。

java - 编译器在运行前将 Java 字节码转换为独立于平台的 C 代码?

我正在寻找一种编译器,用于在运行前(提前编译)将Java字节码转换为独立于平台的C代码。然后我应该能够使用标准C编译器将C代码编译为目标平台的可执行文件。我了解此方法仅适用于某些不经常修改的Java应用程序。那么有哪些Java-to-C编译器可用? 最佳答案 我可以推荐一个名为JCGO的工具这是C翻译器的Java源代码。如果你需要转换字节码,那么你可以通过一些工具(例如,JadRetro+Jad)反编译类文件并将源文件传递给JCGO。该工具一次翻译您的java程序的所有类并生成C文件(每个类一个.c和.h),这些文件可以进一步编译(

java:结合了instanceof和cast?

(请不要建议我应该对X进行更多抽象并向其添加另一个方法。)在C++中,当我有一个变量x类型X*如果它也是Y*类型,我想做一些具体的事情(Y是X的子类),我这样写:if(Y*y=dynamic_cast(x)){//nowdosthwithy}同样的事情在Java中似乎是不可能的(或者是吗?)。我已经阅读了这段Java代码:if(xinstanceofY){Yy=(Y)x;//...}有时,当您没有变量时x但它是一个更复杂的表达式,正因为这个问题,你需要在Java中使用一个虚拟变量:Xx=something();if(xinstanceofY){Yy=(Y)x;//...}//xnotn

java - 选择哪种数据类型或数据结构来计算 100 的阶乘?

我想写一个程序来评估给定整数的阶乘。根据基础知识,我用java编写了以下代码:longfact(intnum){if(num==1)return1;elsereturnnum*fact(num-1);}但后来我意识到,对于许多整数输入,结果可能不是期望的结果,因此为了测试直接给输入100。我的怀疑是真的,因为我得到的结果是“0”(因为结果可能超出了long的范围)。所以,我只是很好奇,也很想知道如何让我的程序处理输入如果有任何有效的C编程语言或Java解决方案,我将不胜感激。 最佳答案 BigInteger是您的类(class)。它

以逗号结尾的Java数组初始化列表

数组初始化列表中使用的逗号,项目分隔符可能会结束C中的列表,这在TheCProgrammingLanguage2ndedbyKernighan&Ritchie中提到。例如intc[]={1,2,3,};当列表很长并且不想在添加项目时更改/检查前一行时这很方便longlongc[]={22342342344,4324234234,12312311111,};但是在Java中我可以观察到两种不同的行为:在Eclipse中,结尾的,被接受,而某些版本的maven编译器插件会提示并抛出编译错误。但是,我没有在Flanagan的Java书中找到任何关于这种奇点的内容。关于初始化项后结束逗号的官方

java - java中unsigned long的等价物是什么

我为我的项目编写了以下三个函数:WORDshuffling(WORDx){//WORD-4bytes-32bits//giveninput-a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15-b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15//outputrequired-a0,b0,a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,a6,b6,a7,b7-a8,b8,a9,b9,a10,b10,a11,b11,a12,b12,a13,b13,a14,b14,a1

java - 通过重构简化代码

是否有重构工具,无论是C语言还是Java语言,都可以简化这种冗余代码。我相信这称为数据传播。这本质上就是优化编译器会做的事情。publicintfoo(){inta=3;intb=4;intc=a+b;intd=c;System.out.println(c);returnc;}进入publicintfoo(){intc=7;System.out.println(c);returnc;} 最佳答案 我认为这不是一个好主意。例如下面的代码:longhours=5;longtimeInMillis=hours*60*1000;这比只是:l